home *** CD-ROM | disk | FTP | other *** search
Wrap
/* File: Displays.h Copyright: © 1984-1994 by Apple Computer, Inc. All rights reserved. Version: Universal Interfaces 2.0a1. ETO #15, MPW prerelease. Sunday, July 17, 1994. Bugs?: If you find a problem with this file, send the file and version information (from above) and the problem description to: Internet: apple.bugs@applelink.apple.com AppleLink: APPLE.BUGS */ #ifndef __DISPLAYS__ #define __DISPLAYS__ #ifndef __APPLEEVENTS__ #include <AppleEvents.h> #endif /* #include <Errors.h> */ /* #include <ConditionalMacros.h> */ /* #include <Types.h> */ /* #include <Memory.h> */ /* #include <MixedMode.h> */ /* #include <OSUtils.h> */ /* #include <Events.h> */ /* #include <Quickdraw.h> */ /* #include <QuickdrawText.h> */ /* #include <EPPC.h> */ /* #include <PPCToolbox.h> */ /* #include <AppleTalk.h> */ /* #include <Processes.h> */ /* #include <Files.h> */ /* #include <Notification.h> */ #ifndef __WINDOWS__ #include <Windows.h> #endif /* #include <Controls.h> */ /* #include <Menus.h> */ #ifndef __COMPONENTS__ #include <Components.h> #endif #ifdef __cplusplus extern "C" { #endif #if GENERATINGPOWERPC #pragma options align=mac68k #endif #ifdef __CFM68K__ #pragma lib_export on #endif enum { /* AppleEvents Core Suite */ kAESystemConfigNotice = 'cnfg', /* Core Suite types */ kAEDisplayNotice = 'dspl', keyDMConfigVersion = '∂cvr', keyDMConfigFlags = '∂cfg', keyDMConfigReserved = '∂crs', keyDisplayID = '∂did', keyDisplayComponent = '∂dcp', keyDisplayDevice = '∂dev', keyDisplayFlags = '∂dfg', keyDisplayMode = '∂dm ', keyDisplayModeReserved = '∂dmr', keyDisplayReserved = '∂ddr', keyDeviceFlags = '∂∂fg', keyDeviceDepthMode = '∂∂dm', keyDeviceRect = '∂∂re', keyPixMapRect = '∂pre', keyPixMapHResolution = '∂phr', keyPixMapVResolution = '∂pvr', keyPixMapPixelType = '∂ppt', keyPixMapPixelSize = '∂pps', keyPixMapCmpCount = '∂pcc', keyPixMapCmpSize = '∂pcs', keyPixMapAlignment = '∂ppa', keyPixMapResReserved = '∂pp®', keyPixMapReserved = '∂ppr', keyPixMapColorTableSeed = '∂pct', keyDisplayOldConfig = 'dold', keyDisplayNewConfig = 'dnew' }; typedef unsigned long DisplayIDType; /* Switch Flags */ enum { /* Flag indicating that there is no need to confirm a switch to this mode */ kNoSwitchConfirmBit = 0 }; typedef pascal void (*DMNotificationProcPtr)(AppleEvent *theEvent); #if GENERATINGCFM typedef UniversalProcPtr DMNotificationUPP; #else typedef DMNotificationProcPtr DMNotificationUPP; #endif enum { uppDMNotificationProcInfo = kPascalStackBased | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(AppleEvent*))) }; #if GENERATINGCFM #define NewDMNotificationProc(userRoutine) \ (DMNotificationUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppDMNotificationProcInfo, GetCurrentArchitecture()) #else #define NewDMNotificationProc(userRoutine) \ ((DMNotificationUPP) (userRoutine)) #endif #if GENERATINGCFM #define CallDMNotificationProc(userRoutine, theEvent) \ CallUniversalProc((UniversalProcPtr)(userRoutine), uppDMNotificationProcInfo, (theEvent)) #else #define CallDMNotificationProc(userRoutine, theEvent) \ (*(userRoutine))((theEvent)) #endif extern pascal GDHandle DMGetFirstScreenDevice(Boolean activeOnly) TWOWORDINLINE(0x7000, 0xABEB); extern pascal GDHandle DMGetNextScreenDevice(GDHandle theDevice, Boolean activeOnly) TWOWORDINLINE(0x7001, 0xABEB); extern pascal void DMDrawDesktopRect(Rect *globalRect) TWOWORDINLINE(0x7002, 0xABEB); extern pascal void DMDrawDesktopRegion(RgnHandle globalRgn) TWOWORDINLINE(0x7003, 0xABEB); extern pascal OSErr DMGetGDeviceTablecloth(GDHandle displayDevice, ComponentInstance *tableclothInstance) TWOWORDINLINE(0x7004, 0xABEB); extern pascal OSErr DMSetGDeviceTablecloth(GDHandle displayDevice, ComponentInstance tableclothInstance) TWOWORDINLINE(0x7005, 0xABEB); extern pascal OSErr DMBeginConfigureDisplays(Handle *displayState) TWOWORDINLINE(0x7006, 0xABEB); extern pascal OSErr DMEndConfigureDisplays(Handle displayState) TWOWORDINLINE(0x7007, 0xABEB); extern pascal OSErr DMAddDisplay(GDHandle newDevice, short driver, unsigned long mode, unsigned long reserved, unsigned long displayID, ComponentInstance displayComponent, Handle displayState) THREEWORDINLINE(0x303C, 0x0D08, 0xABEB); extern pascal OSErr DMMoveDisplay(GDHandle moveDevice, short x, short y, Handle displayState) TWOWORDINLINE(0x7009, 0xABEB); extern pascal OSErr DMDisableDisplay(GDHandle disableDevice, Handle displayState) TWOWORDINLINE(0x700A, 0xABEB); extern pascal OSErr DMEnableDisplay(GDHandle enableDevice, Handle displayState) TWOWORDINLINE(0x700B, 0xABEB); extern pascal OSErr DMRemoveDisplay(GDHandle removeDevice, Handle displayState) TWOWORDINLINE(0x700C, 0xABEB); extern pascal OSErr DMGetComponentAnimateTicks(ComponentInstance animationComponent, unsigned long *goodDelay, unsigned long *maxDelay) TWOWORDINLINE(0x700D, 0xABEB); extern pascal OSErr DMSetComponentAnimateTicks(ComponentInstance animationComponent, unsigned long goodDelay, unsigned long maxDelay) TWOWORDINLINE(0x700E, 0xABEB); extern pascal OSErr DMGetNextAnimateTime(unsigned long *nextAnimateTime) TWOWORDINLINE(0x700F, 0xABEB); extern pascal OSErr DMSetMainDisplay(GDHandle newMainDevice, Handle displayState) TWOWORDINLINE(0x7010, 0xABEB); extern pascal OSErr DMSetDisplayMode(GDHandle theDevice, unsigned long mode, unsigned long *depthMode, unsigned long reserved, Handle displayState) THREEWORDINLINE(0x303C, 0x0A11, 0xABEB); extern pascal OSErr DMCheckDisplayMode(GDHandle theDevice, unsigned long mode, unsigned long depthMode, unsigned long *switchFlags, unsigned long reserved, Boolean *modeOk) THREEWORDINLINE(0x303C, 0x0C12, 0xABEB); extern pascal OSErr DMGetDeskRegion(RgnHandle *desktopRegion) THREEWORDINLINE(0x303C, 0x0213, 0xABEB); extern pascal OSErr DMRegisterNotifyProc(DMNotificationUPP notificationProc, ProcessSerialNumberPtr whichPSN) THREEWORDINLINE(0x303C, 0x0414, 0xABEB); extern pascal OSErr DMRemoveNotifyProc(DMNotificationUPP notificationProc, ProcessSerialNumberPtr whichPSN) THREEWORDINLINE(0x303C, 0x0415, 0xABEB); extern pascal OSErr DMGetDisplayComponent(GDHandle theDevice, ComponentInstance *displayComponent) THREEWORDINLINE(0x303C, 0x0416, 0xABEB); extern pascal OSErr DMSetDisplayComponent(GDHandle theDevice, ComponentInstance displayComponent) THREEWORDINLINE(0x303C, 0x0417, 0xABEB); extern pascal OSErr DMGetDisplayID(GDHandle theDevice, unsigned long *displayID) THREEWORDINLINE(0x303C, 0x0418, 0xABEB); extern pascal OSErr DMSetDisplayID(GDHandle theDevice, unsigned long displayID) THREEWORDINLINE(0x303C, 0x0419, 0xABEB); extern pascal OSErr DMGetDisplayDevice(unsigned long displayID, GDHandle *displayDevice) THREEWORDINLINE(0x303C, 0x0420, 0xABEB); extern pascal OSErr DMResolveDisplayComponents(void) THREEWORDINLINE(0x303C, 0x0021, 0xABEB); #ifdef __CFM68K__ #pragma lib_export off #endif #if GENERATINGPOWERPC #pragma options align=reset #endif #ifdef __cplusplus } #endif #endif /* __DISPLAYS__ */